package top.lingchen.blogapi.service;

import top.lingchen.blogapi.vo.Result;
import top.lingchen.blogapi.vo.params.ArticleParam;
import top.lingchen.blogapi.vo.params.PageParams;

/**
 * @Author 凌宸
 * @create 2021-12-15 下午 9:06
 * @Description
 * @Version 1.0
 */
public interface ArticleService {
    /**
     * 首页 分页查询文章列表
     * @param params 包含 页码和每页显示输了
     * @return
     */
    Result listArticle(PageParams params);

    /**
     * 首页最热文章前 n 条记录
     * @param limit
     * @return
     */
    Result hotArticles(int limit);

    /**
     * 首页最新文章前 n 条记录
     * @param limit
     * @return
     */
    Result newArticles(int limit);

    /**
     * 首页 文章归档
     * @return
     */
    Result listArchives();

    /**
     * 查看文章详情
     * @param articleId
     * @return
     */
    Result findArticleById(Long articleId);

    /**
     * 发布文章服务
     * @param articleParam
     * @return
     */
    Result publish(ArticleParam articleParam);
}
